//OptionView.h
#ifndef _OPTIONSVIEW_H_
#define _OPTIONSVIEW_H_
#pragma once

#include <osg/Array>
#include <osgViewer/Viewer>
#include <osgText/Text>
#include <osg/Texture2D>
#include <iostream>
#include <string>
#include <osgDB/readFile>
#include <osg/ShapeDrawable>
#include "OptionsController.h"
#include <vector>

using namespace osg;
using namespace osgText;
using namespace osgDB;
using namespace std;

class OptionsView : public Camera{
private:
	ref_ptr<Geode> dessinerFleche(int, int, int, int, int, int, ref_ptr<Vec4Array>);
	void dessinerSurface(ref_ptr<Geometry>, int, int);
	ref_ptr<Image> chargerImage(string path);
	void dessinerTexte(ref_ptr<Font>, string msg, ref_ptr<Text>, StateSet *, ref_ptr<Geode>, int, int, int);
	ref_ptr<Text> scoreMovesPerso;
	ref_ptr<Text> scoreMovesCaisses;
	ref_ptr<Text> meilleurScoreMovesPerso;
	ref_ptr<Text> meilleurScoreMovesCaisses;
	vector<ref_ptr<Switch>> vecto;
public:
	OptionsView(ref_ptr<OptionsController> controller);
	void fireDataSetChanged();
	void fly(int,bool);
protected:
	~OptionsView(){};
};

#endif